<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /**
         * Promise.all 批量执行异步操作
         * 
         * 语法：let res = Promise.all([p1,p2,p3])
         * 1. 如果数组中素有的Promise对象都是成功的Promise，那么 res也是成功的promise，
         *    成功的结果值是，数组中每一个Promise对象成功结果值组成的新数组
         * 2. 如果数组中有一个失败的Promise，那么，res也是失败的Promise，数组中失败Promise的结果值，就是res的失败结果值
         *    谁先失败，结果值就取谁的
         */

        // 1. 数组中所有的Promise对象都是成功的Promise
        // let p1 = Promise.resolve('p1');
        // let p2 = new Promise((resolve, reject)=>{
        //     setTimeout(()=>{
        //         resolve('p2');
        //     },1000)
        // })
        // let p3 = Promise.resolve('p3');

        // let res = Promise.all([p1,p2,p3]);
        // console.log(res);

        // 2
        let p1 = Promise.resolve('p1');
        let p2 = new Promise((resolve, reject)=>{
            setTimeout(()=>{
                reject('p2');
            },1000)
        })
        let p3 = new Promise((resolve, reject)=>{
            setTimeout(()=>{
                reject('p3');
            },500)
        })

        let res = Promise.all([p1,p2,p3]);
        console.log(res);

    </script>
</body>
</html>